01-VPC아키텍처이해
VPC 아키텍처 이해
VPC란 무엇인가?
VPC 개념
VPC(Virtual Private Cloud)는 AWS 클라우드 내에서 논리적으로 격리된 네트워크 공간입니다.
쉽게 이해하기:
- 아파트 단지 = AWS 클라우드
- 개별 아파트 = VPC (우리만의 공간)
- 각 방 = 서브넷 (용도별 공간 분리)
왜 VPC를 사용할까요?
- 보안: 외부로부터 격리된 네트워크
- 제어: IP 주소, 라우팅, 게이트웨이 직접 관리
- 유연성: 필요에 따라 네트워크 구조 설계
실습에서 구축할 네트워크 구조
기본 실습: 2-Tier 아키텍처
인터넷
↓
Internet Gateway (인터넷 관문)
↓
VPC (10.0.0.0/16) - 우리의 가상 네트워크
├─ Public Subnet (10.0.1.0/24) - 웹서버 구역
│ └─ EC2 (Node.js 웹서버)
│
└─ Private Subnet (10.0.2.0/24) - 데이터베이스 구역
└─ RDS (MySQL 데이터베이스)
심화 실습: 3-Tier 아키텍처
인터넷
↓
Internet Gateway
↓
Application Load Balancer
↓
VPC (10.0.0.0/16)
├─ Public Subnet (10.0.1.0/24) - 웹서버 구역
│ └─ EC2 (Apache 웹서버)
│
├─ Private Subnet (10.0.2.0/24) - 애플리케이션 구역
│ └─ EC2 (Tomcat WAS)
│
└─ Private Subnet (10.0.3.0/24) - 데이터베이스 구역
└─ RDS (MySQL)
주요 구성 요소 설명
1. VPC (Virtual Private Cloud)
- 역할: 전체 네트워크의 큰 틀
- CIDR: 10.0.0.0/16 (65,536개 IP 주소)
- 범위: 10.0.0.0 ~ 10.0.255.255
2. 서브넷 (Subnet)
VPC 안에서 더 작은 네트워크로 분할
Public Subnet (공개 서브넷):
- 인터넷과 직접 통신 가능
- 웹 서버, 로드 밸런서 배치
- CIDR: 10.0.1.0/24 (256개 IP)
Private Subnet (비공개 서브넷):
- 인터넷과 직접 통신 불가
- 데이터베이스, 내부 애플리케이션 배치
- CIDR: 10.0.2.0/24, 10.0.3.0/24
3. Internet Gateway (인터넷 게이트웨이)
- 역할: VPC와 인터넷을 연결하는 관문
- Public Subnet의 EC2가 인터넷 접속 시 필요
4. Route Table (라우팅 테이블)
- 역할: 네트워크 트래픽을 어디로 보낼지 결정
- Public용, Private용으로 분리
IP 주소 체계 이해
CIDR 표기법
- 10.0.0.0/16: 앞 16비트가 네트워크 주소
- 10.0.1.0/24: 앞 24비트가 네트워크 주소
실습에서 사용할 IP 주소
VPC: 10.0.0.0/16
├─ Public Subnet: 10.0.1.0/24
│ └─ 사용 가능: 10.0.1.1 ~ 10.0.1.254
│
├─ Private Subnet 1: 10.0.2.0/24
│ └─ 사용 가능: 10.0.2.1 ~ 10.0.2.254
│
└─ Private Subnet 2: 10.0.3.0/24 (심화 실습용)
└─ 사용 가능: 10.0.3.1 ~ 10.0.3.254
보안 그룹 개념
보안 그룹이란?
- EC2 인스턴스의 가상 방화벽
- 인바운드(들어오는), 아웃바운드(나가는) 트래픽 제어
실습에서 만들 보안 그룹
Web Server 보안 그룹:
- SSH (22): 내 IP에서만 접근
- HTTP (80): 모든 곳에서 접근
- Custom (3000, 8080): 모든 곳에서 접근
Database 보안 그룹:
- MySQL (3306): 웹 서버에서만 접근
가용 영역 (Availability Zone)
가용 영역이란?
- 서울 리전 내의 물리적으로 분리된 데이터센터
- ap-northeast-2a, ap-northeast-2c 등
실습에서의 배치
- Public Subnet: ap-northeast-2a
- Private Subnet: ap-northeast-2a 또는 ap-northeast-2c
- RDS: Multi-AZ 배치 (고가용성)
네트워크 흐름 이해
기본 실습 트래픽 흐름
-
사용자 → 웹서버:
인터넷 → Internet Gateway → Public Subnet → EC2 -
웹서버 → 데이터베이스:
EC2 (Public) → Private Subnet → RDS
심화 실습 트래픽 흐름
-
정적 파일 요청:
사용자 → ALB → Apache (Public) → 정적 파일 응답 -
동적 처리 요청:
사용자 → ALB → Apache (Public) → Tomcat (Private) → RDS
실습 준비 완료 확인
다음 개념들을 이해했는지 확인하세요:
다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/02-VPC설계/02-VPC단계별구성
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/Week2-전체가이드